Automated stylist for curation of style-conforming outfits

ABSTRACT

An auto-styler device may provide a style-based or outfit-driven shopping experience. The auto-styler device may select a style definition that defines a style-conforming outfit based on rules that apply to a combination of a first item type and a second item type of the style-conforming outfit, and that defines a customized presentation for the style-conforming outfit. The auto-styler device may generate a style-conforming outfit with a first item of the first item type and a second item of the second item type in response to a collective style produced by the combination satisfying the rules. The auto-styler device may position and size a first image of the first item relative to a second image of the second item in a single interface based on the specified the customized presentation of the style definition, and may present or publish the resulting single interface on a merchant site.

BACKGROUND

Fashion and clothing purchases often involve selecting an article ofclothing by considering other articles of clothing and/or clothingaccessories that the purchaser has purchased or is looking to purchase.The purchaser considers the other articles of clothing and/or clothingaccessories in order to create an outfit with two or more items thatconform to a certain style.

However, retail and online stores offer an item-by-item shoppingexperience. The item-by-item shopping experience has the purchasersearch for a first item type (e.g., pants) amongst a collection of itemsof that first item type. Upon selecting the first item, the purchaserthen searches for a second item type (e.g., shirts) amongst a collectionof items of that second item type. This item-by-item shopping experiencedoes not provide the purchaser with a way to readily visualize differentcombinations of items may create different styles, and to shop based onthe collective style rather than each item in isolation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of an auto-styler device automaticallycurating different style-conforming outfits in accordance with someembodiments presented herein.

FIG. 2 illustrates an example for automatically customizing thepresentation of an outfit in accordance with some embodiments presentedherein.

FIG. 3 presents a process for providing the auto-styler device with newitems that the auto-styler device may use to generate different outfitsthat conform to a common style in accordance with some embodimentspresented herein.

FIG. 4 illustrates an example of a first template and a second templatefor generating different outfits in accordance with some embodimentspresented herein.

FIG. 5 illustrates examples of different rules for defining the stylefor an outfit in accordance with some embodiments presented herein.

FIG. 6 presents a process for automated outfit generation and ranking inaccordance with some embodiments presented herein.

FIG. 7 illustrates an example of dynamically generating or selectingstyle-conforming outfits based on user input in accordance with someembodiments presented herein.

FIG. 8 presents a process for the customization or reranked presentationof outfits using artificial intelligence and/or machine learning inaccordance with some embodiments presented herein.

FIG. 9 presents a process for user-level customizations of outfits inaccordance with some embodiments presented herein.

FIG. 10 illustrates an example for customizing the presentation of anoutfit to provide an optimal visualization for the collective style thatis created by the interplay of two or more items of that outfit inaccordance with some embodiments presented herein.

FIG. 11 illustrates an example of an inline customized presentation ofan outfit in accordance with some embodiments presented herein.

FIG. 12 illustrates example components of one or more devices, accordingto one or more embodiments described herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements.

Provided is an automated stylist or “auto-styler”. The auto-styler mayinclude systems and/or methods for automatically generating a pluralityof outfits that conform to one or more styles, and for presenting thegenerated outfits in a single presentation so that users may readilyvisualize different styles that can be created from pairing items ofdifferent item types in an outfit. The auto-styler therefore promotes astyle-based or outfit-driven shopping experience rather than theitem-by-item shopping experience of traditional retail and onlinestores.

Each outfit, that is generated by the auto-styler, may comprise itemsthat are selected from two or more types of clothing articles and/orclothing accessories, and that conform to a common style. The differentitems of the outfit are not different variants of the same article ofclothing or clothing accessories, but different articles of clothing andclothing accessories that have different uses and one or more attributesfor the style that is created by the collective grouping of items. Theoutfit style may therefore be defined as the collective look resultingfrom a desired combination of a pattern, color, material, cut, fit,brand, and/or other visual characteristics from different items ofdifferent item types.

Different types of clothing articles may include shirts, sweaters,jackets, pants, shorts, socks, underwear, etc. Different types ofclothing accessories may include hats, gloves, shoes, jewelry, purses,scarves, etc. The types of clothing articles and/or clothing accessoriesmay be defined more generally. For instance, tops, pants, underwear, andouterwear may define different types of clothing accessories.Conversely, the types of clothing articles and/or clothing accessoriesmay be defined more precisely. For instance, t-shirts, dress shirts,blouses, athletic shirts, and polo shirts may be defined as specifictypes of clothing articles, rather than a single type of clothingarticle (e.g., tops or shirts). In any case, each type of clothingarticle or clothing accessory may have a different use, utility,purpose, and/or attributes. For instance, clothing tops have a differentuse, utility, purpose, and/or attributes than clothing bottoms,underwear, hats, belts, shoes, etc.

The auto-styler may programmatically select two or more items from twoor more different item types based on a style definition for an outfitwith a particular collective look. The style definition may filter theoutfit to include items from a subset of item types, and may furtherfilter combinations of items from the subset of items types that may bepaired together in the outfit. The style definition prevents the randominclusion of items from any item type in the outfit, and furtherprevents random pairings of items from the subset of item types to formthe outfit.

FIG. 1 illustrates an example of auto-styler 110 automatically curatingdifferent style-conforming outfits in accordance with some embodimentspresented herein. Auto-styler 110 may ingest (at 102) a plurality ofdifferent items from a plurality of different item types 120-1, 120-2,120-3, 120-4, and 120-5 (sometimes collectively referred to as “itemtypes 120” or individually as “item type 120”). In FIG. 1, item types120 may include jackets, button-down shirts, belts, pants, and shoes.Alternatively, item types 120 may include outerwear, tops, accessories,bottoms, and footwear.

Auto-styler 110 may select (at 104) one or more style definitions 130from a plurality of different style definitions. Auto-styler 110 mayadjust the selection (at 104) of style definitions 130 at differenttimes based on merchant preferences, user preferences, machine learning,and/or rules. For instance, the merchant may receive new formalwear, andmay want to promote or prioritize the display of the new formalwear.Accordingly, auto-styler 110 may select (at 104) style definitions 130that define different styles for formal outfits. Similarly, auto-styler110 may select (at 104) style definitions 130 for promoting new seasonalstyles depending on the time of year. Each style definition 130 may bedefined by a merchant or customer of auto-styler 110, or may beautomatically defined by auto-styler 110 using artificial intelligenceand/or machine learning.

Auto-styler 110 may produce (at 106) outfits 140-1, 140-2, 140-3, and140-4 (sometimes collectively referred to as “outfits 140” orindividually as “outfit 140”) by combining different items from itemtypes 120. In producing (at 106) outfits 140, auto-styler 110 maydetermine which outfits 140 conform to one or more style definitions 130by comparing attributes for the items in each outfit 140 against styledefinitions 130. In some embodiments, auto-styler 110 may select a firstitem as a “seed” item for outfit 140, and may select other items thatcomplete the style for outfit 140 (e.g., satisfy style definition 130)and that compliment the seed item. For instance, the selected styledefinition 130 may define a “summer” style, and the selection of aparticular pair of shorts or a particular pair of long pants as the seeditem may alter the subsequent selection of other items for completingthe summer style outfit.

As shown in FIG. 1, outfits 140-2 and 140-3 may contain items or itemattributes that do not conform to a style definition 130, andauto-styler 110 may reject or discard outfits 140-2 and 140-3 that donot conform to a style definition 130. For instance, outfits 140-2 and140-3 may include a jacket that is classified as formalwear, and one ormore of pants and shoes that are classified as casual. No styledefinition 130 may permit such a combination of formalwear with casualitems. Accordingly, auto-styler 110 may reject or discard outfits 140-2and 140-3.

Outfits 140-1 and 140-4 may satisfy one or more style definitions 130.Accordingly, auto-styler 110 may publish (at 108) outfits 140-1 and140-4 to user interface (“UI”) 150 (e.g., a website or application)where the collective set of items of each outfit 140-1 and 140-4 may bepresented in UI 150 in order to assist a shopper in discovering itemsthat may be paired together to create a cohesive and desired style. Insome embodiments, style-conforming outfits 140-1 and 140-4 may bepresented to a site administrator for validation prior to publishing onUI 150.

Auto-styler 110 may automatically customize the presentation of eachoutfit 140. Customizing the presentation may include auto-styler 110providing an optimal arrangement and layout for the items of each outfit140 so that a user can readily visualize the collective style of thegenerated outfit 140, and the interplay between the style attributes ofthe different items in that generated outfit 140. More specifically, theoptimal arrangement and layout may include placing the outfit itemstogether in a layered and partially overlapping, but non-obscuring,arrangement in UI 150 so that a user can visualize the entire outfitwithout having separate windows, screens, sites, and/or interfaces openfor each item that the user wants to style together.

FIG. 2 illustrates an example for automatically customizing presentation210 of outfit 140-1 in accordance with some embodiments presentedherein. Auto-styler 110 may select and group (at 202) different itemsfrom different item types 120 to create outfit 140-1 that conforms toone or more style definitions 130. Auto-styler 110 may then customizepresentation 210 of the selected items for outfit 140-1 to showcase thestyle that is created by two or more items of outfit 140-1 in a singleinterface, rather than showcase each item individually in a separateinterface or apart from one another as is done in traditional onlinesites.

As shown in FIG. 2, customizing presentation 210 may include resizing(at 204) images for one or more of the items in outfit 140-1 so that theitems are presented with desired proportions relative to one another. Insome embodiments, auto-styler 110 may resize (at 204) the images so thatthe depicted items are of the same size or proportion. In some otherembodiments, auto-styler 110 may resize (at 204) the images so thatcertain items are displayed more prominently than others. Although notshown, auto-styler 110 may enlarge the jacket relative to other items inoutfit 140-1 when outfit 140-1 is for a winter look, the jacket is afocal point or prominent item of outfit 140-1, the jacket is abest-selling item, the jacket is on sale, the jacket is a promoted item,etc. In some embodiments, auto-styler 110 may resize (at 204) an imagefor a particular item based on previous sizing used for that particularitem in another outfit. The previous item image size may take precedenceover resizing items in the outfit to the same size or proportion.Alternatively, auto-styler 110 may override the previous item image sizeto ensure that the images have a common size or proportion.

Customizing presentation 210 may further include positioning (at 206)the resized images in a common interface. In positioning (at 206) theresized images, auto-styler 110 may arrange some items around aparticular item of outfit 140-1, may align items to a common height,and/or may partially overlap two or more items to better present thecommon style of those items. For instance, auto-styler 110 may position(at 206) the shirt, jacket, shoes, and belt of outfit 140-1 aroundand/or relative to the pants. Auto-styler 110 may align the shirt andjacket so that the neckline of each is on first common plane 220, and sothat the bottom of the shirt and jacket partially overlap with the topof the pants about second common plane 230. The alignment and overlap ofitems may improve the visualization or presentation of the stylisticinterplay between these items. Auto-styler 110 may also determine az-depth ordering or layering for the items that places the shirt andjacket over the pants.

As a result of the customizations, presentation 210 may provide a directand singular visualization for the collective style of the combineditems. In other words, customized presentation 210 may illustrate howthe attributes from each of the selected jacket, the selected shirt, theselected pants, the selected belt, and the selected shoes contribute tocreate a cohesive and holistic style for outfit 140-1, wherein theholistic style of outfit 140-1 may be different than the style of eachindividual item in insolation.

By presenting holistic style of outfit 140-1, rather than each item inisolation, customized presentation 210 may promote the purchase ofdifferent pairings or combinations of items from outfit 140-1 based onthe style resulting from the pairings or combinations, rather than apurchase of a single item that is viewed in isolation without referenceto other items. Stated differently, auto-styler 110 may promote astyle-based or outfit-driven shopping experience rather than theitem-by-item shopping experience of traditional retail and onlinestores.

Each item may be stored separately in a data store. Each data storeentry may contain data about a single particular item. For instance, asa merchant receives new inventory, the merchant may update the datastore with new entries for each new item that is received.

Auto-styler 110 may generate outfits 140 based on the items that arepresent in one or more data stores. FIG. 3 presents a process 300 forproviding auto-styler 110 with new items that auto-styler 110 may use togenerate outfits 140 that conform to a common style in accordance withsome embodiments presented herein.

Process 300 may include ingesting (at 310) one or more items from a datastore. The data store may be updated by a merchant that operates aretail or online store, and the merchant may use auto-styler 110 for theautomated outfit generation. Auto-styler 110 may periodically ingest (at310) the items from the data store. For instance, auto-styler 110 mayingest (at 310) items on a daily basis to discover available inventoryand/or new items that have been received. Ingesting (at 310) the one ormore items may include auto-styler 110 establishing a feed or link withthe data store, and downloading data about the items from the data storeover a data network. In some embodiments, auto-styler 110 may beintegrated with the data store, and may ingest (at 310) the items fromthe data store via a direct interface to the data store.

Auto-styler 110 may ingest (at 310) the one or more items with item datathat includes an item name, an item image, and/or one or more itemattributes. The one or more attributes may provide the item price,seasonality, look, pattern, color, material, cut, fit, brand, size,and/or other visual characteristics or properties of the item. The itemdata may be stored as a single file with metadata, as a file with one ormore database entries and values, and/or as a set of files.

Process 310 may include extracting (at 315) the item attributes fromeach ingested item. In some embodiments, auto-styler 110 may directlyextract (at 315) the item attributes from the downloaded item data. Insome other embodiments, auto-styler 110 may extract (at 315) the itemattributes by processing the item data. For instance, auto-styler 110may perform image analysis on the image of an ingested item in order todetermine attributes such as the item color, pattern, formality (e.g.,formal, casual, business-casual, athletic, etc.), and/or identifier(e.g., shirt, pants, sweater, etc.). Auto-styler 110 may also extract(at 315) the item attributes from the item name. For instance, the itemname may be defined to include the brand name, an item identifier, cut,fit, and/or other attributes.

Process 310 may include matching (at 320) the extracted item attributesto tags within an auto-styler taxonomy. Auto-styler 110 may produceoutfits 140 for different merchants or customers, and each merchant mayuse different identifiers or descriptors for the same attributes.Accordingly, auto-styler 110 may perform the matching (at 320) toidentify a common set of identifiers or descriptors for the attributevalues of the ingested items.

Process 310 may include classifying (at 325) the ingested items usingthe identifiers or descriptors for the tags from the taxonomy that matchthe extracted item attributes. In some embodiments, classifying (at 325)the ingested item may include replacing and/or updating the itemattributes with the common set of identifiers or descriptors from thematching tags of the auto-styler taxonomy. For instance, may replace afirst item attribute of “aqua” with the identifier “blue” from theauto-styler taxonomy, and may replace a second item attribute of “shirt”with a more descriptive identifier “t-shirt” that is extracted fromanalyzing the item image. In some embodiments, classifying (at 325) theingested items may include adding identifiers or descriptor from thematching tags as new item attributes that are not extracted from theitem attributes, and that are derived from analyzing the item. Forinstance, auto-styler 110 may classify (at 325) certain items as petiteor big-tall based on image analysis and available sizes, and other itemsas seasonal based on the ingest date and/or coloring of the items.Auto-styler 110 may store the ingested items with the identifiers anddescriptors from the matching tags in local storage or memory, or maywrite the identifiers and descriptors from the matching tags to the datastore where the original item data is stored.

Auto-styler 110 may reference the item classifications in order toautomatically generate an outfit title or caption for a generatedoutfit. For instance, a set of items that are included in an outfit mayinclude a common “summer” identifier or descriptor, and auto-styler 110may label or title that outfit as a summer outfit. In some embodiments,outfit titles may be provided in style definitions 130, and auto-styler110 may append and/or modify the title within a particular styledefinition 130 based on the identifiers and descriptors that are used toclassify the items included in an outfit conforming to the particularstyle definition 130.

In some embodiments, classifying (at 325) the ingested items may includeadding different scores for each tag or item attribute. The score mayrepresent a confidence-level or percentage by which the extracted itemattribute matches to a tag in the taxonomy. For instance, auto-styler110 may tag a first item with the color red and a score of 100 when theitem is a solid red color, and may tag a second item with the color redand a score of 50 when the item has red and other coloring.

Auto-styler 110 may use the scores to determine whether certain itemscan be used in an outfit to satisfy the overall style for that outfit orto rank resulting outfits for conformity to a style. For instance,auto-styler 110 may generate a first outfit in which one or more of theitems have a score less than 100 for a particular attribute (e.g., itemsmay have formal and causal uses), and may generate a second outfit inwhich the items have a score of 100 for the particular attribute (e.g.,items only have a formal use). The outfit style may emphasize or may bebased on the particular attribute (e.g., an outfit with a formalstyling), and auto-styler 110 may therefore rank the second outfit asbetter conforming to the outfit style than the first outfit based on thescoring of the particular attribute.

Auto-styler 110 may generate different groupings of the classified itemsto create outfits 140 that satisfy or conform to different styledefinitions 130. Accordingly, each style definition 130 may define adifferent outfit style (e.g., acceptable combinations of items and/oritem attributes for a style-conforming outfit). Each style definition130 may include a template and one or more rules.

FIG. 4 illustrates an example of first template 410-1 and secondtemplate 410-2 for generating different outfits 140 in accordance withsome embodiments presented herein. First template 140-1 and secondtemplate 140-2 may sometimes be collectively referred to as “templates410”, or may be individually referred to as “template 410”.

Each template 410 may specify two or more different item types that areto be included in an outfit 140. For instance, first template 410-1 maydefine a first outfit that includes one item of a clothing top,outerwear, clothing bottom, socks, footwear, and purse, and secondtemplate 410-2 may define a second outfit that includes one item of ablouse, hat, dress or skirt, sandals, and jewelry. Accordingly, outfits140 that are created according to first template 410-1 and secondtemplate 410-2 are different in terms of the included items and theresulting style, wherein the resulting style may be determined in partfrom the item types included in each outfit 140.

Each template 410 may specify a visual presentation for the selecteditems from each include item type. Each template 410 may specify aposition, size, rotation, and z-depth for each included item. Forinstance, first template 410-1 may specify positioning a first item(e.g., the image of the first item), that is a clothing “top” type, atthe center of the upper left quadrant, and may specify sizing the firstitem image to remain within the upper left quadrant. Similarly, firsttemplate 410-1 may specify positioning a second item, that is of the“socks” type, within a single leftmost region that is below the upperleft quadrant. In some embodiments, templates 410 may specify adifferent sizing and/or rotation for different item types, and mayprovide boundaries within which images for items of a particular itemtype must fit. For instance, first template 410-1 may set the boundaryfor the item image of the “top” type to be 120% the size of the boundaryfor the item image of the “bottom” type. Also, the boundary for the itemimage of the “outerwear” type may be elongated to accommodate images forshorter outerwear, such as jackets, and for longer outerwear, such ascoats. The z-depth may define a layered ordering of the items, and whichitem will obscure another item in the visual presentation when there isoverlap between the items. The positioning, sizing, rotation, and/orz-depth may therefore be used to more prominently display certain itemsof outfit 140 and less prominently display other items of that sameoutfit 140.

Templates 410 may provide a baseline style for the item types that maybe included in an outfit 140. In some embodiments, templates 410 may notrestrict which items of the permissible item types may be included inthat outfit 140. For instance, first template 410-1 may require pairingof a clothing top with a clothing bottom, but the clothing top may haveany pattern or coloring that may conflict with the pattern or coloringof the clothing bottom.

Accordingly, each style definition 130 may include one or more rules tofurther define the style of the outfit 140 that is created according tothat style definition 130. The one or more rules may be linked to one ormore templates 410, and may further define the style for an outfit byfiltering which items from the permitted item types of a selectedtemplate 410 may be selected and paired together to create an outfit140. In other words, templates 410 may restrict auto-styler 110 toselecting items from a filtered subset of available item types, and theone or more rules may restrict auto-styler 110 to selecting between afiltered subset of items from each of the subset of available itemtypes. The rules may also vary the selection of templates 410 in orderto ensure a sufficient variety of outfits 140 and outfit styles.

Auto-styler 110 may receive the rules from merchants, stylists, and/orfrom automated rule generation routines. Each rule may apply to one ormore item types included in an outfit 140, and/or may specify acondition for including or excluding, in an outfit 140, one or moreitems from the same or different item types based on their respectiveitem attributes.

FIG. 5 illustrates examples of different rules 510-1, 510-2, and 510-3for defining the style for an outfit 140 in accordance with someembodiments presented herein. Rules 510-1, 510-2, and 510-3 maysometimes be collectively referred to as “rules 510”, or may beindividually referred to as “rule 510”.

Rules 510 may defined as part of a style definition 130 that alsoincludes template 410-1. Accordingly, auto-styler 110 may generate anoutfit that conforms to a specific style that is defined based ontemplate 410-1 and rules 510.

Each rule 510 may apply to a single item type or item, or to a pairingor combination of two or more item types or items. For instance, firstrule 510-1 may require the style-conforming outfit to have a clothingtop that is of the same brand as a clothing bottom included in thatoutfit. Consequently, first rule 510-1 may restrict the pairing orcombination of these two items or item types of the outfit to aparticular subset of clothing tops and a particular subset of clothingbottoms.

Second rule 510-2 and third rule 510-3 may apply to the entire outfit.In particular, auto-styler 110 may select an item from one of the itemtypes included in template 410-1 to have an attribute set to“patterned”, and may select items for the other item types included intemplate 410-1 to have an attribute that is not set to “patterned” basedon second rule 510-2. Alternatively, auto-styler 110 may select an itemthat is checkered, striped, polka-dotted, or otherwise patterned for oneof the item types included in template 410-1, and may select items thatis solid, plain, or printed for the other item types included intemplate 410-1. Similarly, auto-styler 110 may select items with acertain average price to generate an outfit in which the total cost ofall items is less than a threshold amount specified as part of the thirdrule 510-3. Alternatively, auto-styler 110 may generate itemcombinations that satisfy rules 510-1 and 510-2, and may compute thetotal price of items in the generated item combinations to determinewhich combinations also satisfy third rule 510-3.

Auto-styler 110 may use template 410-1 and rules 510 to ensure that theresulting outfit conforms to a specific style (e.g., a particular styledefinition 130), and is not a random grouping of items from differentitem types. In some embodiments, auto-styler 110 may apply rules 510when selecting items to include in an outfit. For instance, auto-styler110 may filter which subset of items from a permissible subset of itemtypes may be used to form an outfit using rules 510. Alternatively,auto-styler 110 may generate different potential outfit combinationsthat include different combinations of items from the subset of itemtypes that satisfy requirements of template 410-1. Auto-styler 110 maythen compare the items and item attributes of each potential outfitagainst rules 510, and may determine which outfits satisfy rules 510 andwhich outfits have items or item attributes that violate one or more ofrules 510. Auto-styler 110 may retain outfits that satisfy rules 510 asoutfits that conform to the style defined by rules 510 and/or styledefinition 130 that includes those rules 510. Auto-styler 110 maydiscard or invalidate outfits that violate one or more rules 510 asoutfits that do not conform to the style defined by rules 510 and/orstyle definition 130 that includes those rules 510.

Auto-styler 110 may generate multiple outfits that conform to a commonstyle. In other words, auto-styler 110 may generate different outfitswith different item combinations that satisfy the same style definition130.

Auto-styler 110 may rank the outfits based on diversity, itemprioritization, brand prioritization, and/or other criteria. Auto-styler110 may rank the outfits for diversity to ensure that similar outfitswith mostly the same overall visual appearance or mostly the same itemsare not repeated in the user accessible UI at or near the same time tothe same user. Auto-styler 110 may rank the outfits based on itemprioritization to ensure that certain best-selling, popular, new, orother designated items (e.g., overstock of yellow sweaters, seasonalitems, etc.) are included in the outfits that are presented to users.Auto-styler 110 may rank the outfits based on brand prioritization toensure that brands that have paid to have their items promoted moreprominently than other brands will have their items included in outfitsthat are higher ranked than outfits that do not include items of thosebrands.

FIG. 6 presents a process 600 for automated outfit generation andranking in accordance with some embodiments presented herein. Process600 may be performed by auto-styler 110.

Process 600 may include selecting (at 610) a particular style of outfitto generate. The selection (at 610) may include retrieving at least onestyle definition 130 for generating outfits of the particular style froma plurality of different style definitions 130.

In some embodiments, auto-styler 110 may be configured to generate acertain number of outfits that satisfy a particular style or styledefinition 130, and/or to generate multiple outfits for differentdefined styles or style definitions 130 on a periodic basis. In someembodiments, auto-styler 110 may be configured to update existingoutfits. Updating an existing outfit with a particular style may includeensuring that the items and item attributes of the existing outfitcontinue to conform to the particular style, and/or substituting one ormore of the items with items that are newer, more popular, in stock,and/or vary the look of the existing outfit so that the same outfit isnot repeated over a long period of time.

Auto-styler 110 may base the selection (at 610) of the particular styleof outfit to generate based on merchant preferences, user preferences,machine learning, and/or rules. The merchant preferences may causeauto-styler 110 to prioritize selection of certain styles or styledefinitions 130 that the merchant wishes to promote, or may control whencertain styles (e.g., seasonal styles, occasional styles, etc.) areselected by auto-styler 110. User preferences may be used to customizethe style selection in real-time when different users access themerchant site. For instance, auto-styler 110 may customize the styleselection for a particular user based on previous items that werepurchased by that particular user, and/or based on tracked userengagement that identifies the different styles the particular userengages with the most. Auto-styler 110 may use machine learning todetermine styles that are popular, lead to the highest sale conversion,etc., and may bias the style or style definition 130 selection (at 610)accordingly. Rules may be defined to ensure sufficient variety in thestyles that are selected by auto-styler 110. For instance, the merchantpreferences may specify promoting “summer” styles, and the rules maycause auto-styler 110 to select and generate a first outfit based on afirst summer style definition 130, to avoid a second summer styledefinition 130 that is too similar to the first summer style definition130, and to select and generate a second outfit based on a third summerstyle definition 130 that may include different item types, styleattributes, or other variety that is determined to be sufficientlydifferent from first and second summer style definitions 130.

Process 600 may include retrieving (at 615) a template that defines asubset of item types that are included as part of the particular style,and retrieving (at 620) one or more rules that define the style for theitems that can be selected from the subset of item types. In someembodiments, the retrieved style definition 130 may include theretrieved template and the retrieved one or more rules for the selectedparticular style.

Process 600 may include generating (at 625) different style-conformingoutfits of the particular style that include different combinations ofitems, from the subset of item types, that satisfy the one or morerules. As noted above, auto-styler 110 may filter each of the subset ofitem types to identify the subset of items in each item type thatsatisfies the one or more rules, and may generate one variation of theparticular style outfit by selecting an item from the subset of itemsthat is filtered for each item type of the subset of item types.Alternatively, auto-styler 110 may select different combinations ofitems from the subset of item types, and may filter the combinations toexclude combinations with items and/or item attributes that violate theone or more rules, and to include combinations for style-conformingoutfits with items and/or item attributes that satisfy the one or morerules.

In some embodiments, generating (at 625) the different style-conformingoutfits may include generating a caption or title for eachstyle-conforming outfit. Auto-styler 110 may generate the caption ortitle for a particular style-conforming outfit based on a caption ortitle within the style definition 130, that was used to generate theparticular style-conforming outfit, and/or based on the descriptors oridentifiers that are used to classify the items included in theparticular style-conforming outfit. For instance, one or more of theitems in the particular style-conforming outfit may be tagged orclassified as having a “vintage” look, and the style definition 130 maydefine a “floral” outfit. Accordingly, auto-styler may automaticallygenerate a “vintage floral” caption or title for the particularstyle-conforming outfit based on the combination of the style definition130 data and the item data.

Process 600 may include ranking (at 630) the style-conforming outfitsbased on one or more criteria. Ranking (at 630) the style-conformingoutfits may include determining the generated outfits that mostlyclosely match the particular style. Auto-styler 110 may sum or compute atotal score for each outfit based on the scores for the item attributesthat used in defining the one more rules, and may rank the generatedoutfits based on the total score. For instance, if the one or more rulesrequire the outfit items to have first and second colors, auto-styler110 may rank a first outfit with items that are primarily the first andsecond colors over a second outfit with items that include other colorsor that only partially include the first and second colors. Ranking (at630) the style-conforming outfits may also include prioritizing outfitswith item combinations that are the most diverse from one another. Forinstance, auto-styler 110 may prioritize style-conforming outfits thathave more two or more different items between the outfits overstyle-conforming outfits in which only one item is different between theoutfits. As another example, auto-styler 110 may prioritize the outfitswith the greatest variation in colors, the selected item of a particularitem type (e.g., a t-shirt versus a button-down shirt), formality (e.g.,a formal outfit versus a casual outfit), etc. Ranking (at 630) thestyle-conforming outfits may include filtering a subset of thestyle-conforming outfits. Similar to auto-styler 110 excludingcombinations of items that did not conform to the particular styleand/or satisfy the one or more rules, auto-styler 110 may exclude thelowest ranked style-conforming outfits.

Process 600 may include providing (at 635) the style-conforming outfitsbased on their ranking for display. Providing (at 635) thestyle-conforming outfits may include providing an arranged presentationof the images for the items of a particular outfit, and/or a generatedcaption or title for the particular outfit. In some embodiments,auto-styler 110 may directly publish the style-conforming outfits to UI210 that users can remotely access via a data network in order to lookat and/or order one or more items within the style-conforming outfits.

UI 210 may correspond to or may be part of a website, webpage, or othernetwork accessible content. UI 210 may be defined with HyperText MarkupLanguage (“HTML”) code, scripting code, Cascading Style Sheets (“CSS”),and/or other code. UI 210 may be accessed in response to user directinga browser, application, or user equipment (“UE”) to a Uniform ResourceLocator (“URL”) for the website, webpage, or other network accessiblecontent of UI 210.

In some other embodiments, auto-styler 110 may provide (at 635) thestyle-conforming outfits in a different UI that is accessible by a siteadministrator. The site administrator may view the style-conformingoutfits in the UI, and may select which outfits to publish onuser-exposed UI 210 that users can remotely access in order to look atand/or order one or more items within the style-conforming outfits. Inother words, auto-styler 110 may allow the site administrator anopportunity to review, approve, and reject the style-conforming outfitsprior to publishing the outfits for user access.

In some embodiments, auto-styler 110 may base the generation orselection of style-conforming outfits on user input. FIG. 7 illustratesan example of dynamically generating or selecting style-conformingoutfits based on user input in accordance with some embodimentspresented herein.

As shown in FIG. 7, a user may access UI 710 and select item 720 toview. The user may enter a search query for item 720 in UI 710, or mayselect item 720 from a plurality of items of the same item type that arepresented in UI 710. In this figure, the user has selected a polka dotmen's shirt.

In response to the user input, UI 710 may change to provide informationabout item 720. As part of changing UI 710, auto-styler 110 may populateUI 710 with one or more outfits 730-1 and 730-2.

Outfits 730-1 and 730-2 may include item 720 with items of other itemtypes, and each outfit 730-1 and 730-2 may have the same style or adifferent style that is created using different style definitions 130.Accordingly, auto-styler 110 may select outfits 730-1 and 730-2 for UI710 based on the user selection or request for item 720.

In some embodiments, auto-styler 110 may dynamically generatestyle-conforming outfits 730-1 and 730-2 that include item 720 inresponse to receiving the user input for item 720. In particular, a usermay submit a request (e.g., a HyperText Transfer Protocol (“HTTP”) GETmessage) to a front-end host operated by or on behalf a merchant. Thefront-end host may be accessed from one or more web servers and/or aURL, domain name, or network address that is associated with thefront-end host. The front-end host may receive the request, and mayrespond with a landing page that the user may use to enter the query foritem 720 or select item 720. The front-end service may process the userinput and retrieve information about item 720 to include in UI 710, andmay also provide the user input to auto-styler 110 via an ApplicationProgramming Interface (“API”) call, Representational State Transfer(“REST”) call, or other network communication. In response to the userinput, auto-styler 110 may generate first outfit 730-1 by selecting afirst style definition 130, item 720, and a set of items from other itemtypes that, when combined with item 720, satisfy the first styledefinition 130. Auto-styler 110 may also generate second outfit 730-2 byselecting a different second style definition 130, item 720, and adifferent set of items from other item types that, when combined withitem 720, satisfy the second style definition 130. In this example,first outfit 720-1 may satisfy a formal style definition, and secondoutfit 720-2 may satisfy a different casual style definition.Auto-styler 110 may return first outfit 730-1 and second outfit 730-2 tothe front-end host in a JavaScript Object Notation (“JSON”), ExtensibleMarkup Language (“XML”), or other data-interchange format. The front-endhost may incorporate first outfit 730-1 and second outfit 730-2 into UI710, and may provide UI 710 with information about item 720 and outfits730-1 and 730-2 to the requesting user.

In some other embodiments, auto-styler 110 may select outfits 730-1 and730-2 from a plurality of previously generated style-conforming outfitsbased on the user input. Once again, the front-end host may provide theuser input to auto-styler 110. However, rather than dynamically generateoutfits 730-1 and 730-2, auto-styler 110 may search the plurality ofpreviously generated style-conforming outfits to identify a subset ofoutfits that include item 720. Auto-styler 110 may select outfits 730-1and 730-2 from the subset of outfits based on some criteria. In thisexample, auto-styler 110 may use diversity criteria to select outfit730-1 for a formal styling of the particular item, and outfit 730-2 fora casual styling of the particular item. Auto-styler 110 may provide theselected style-conforming outfits 730-1 and 730-2 to the front-end hostfor inclusion and presentation in UI 710.

Auto-styler 110 may use artificial intelligence and/or machine learningto customize or rerank the style-conforming outfits over time as userinterests, merchant preferences, inventory, and/or other conditionschange. FIG. 8 presents a process 800 for the customization or rerankedpresentation of outfits using artificial intelligence and/or machinelearning in accordance with some embodiments presented herein. Process800 may be performed by auto-styler 110.

Process 800 may include establishing (at 810) a feedback loop with amerchant. The feedback loop may include various connections, interfaces,and/or resources that auto-styler 110 may use to obtain information fromthe merchant. The feedback loop may include access to the front-end hostand/or databases of the merchant.

Process 800 may include using the feedback loop to track (at 815)style-conforming outfits that have been approved and/or published by themerchant. Process 800 may include detecting (at 820) commonality in theapproved and/or published style-conforming outfits. Detecting (at 820)may include performing pattern recognition and trend analysis todetermine certain items, item attributes, and/or item arrangements thatrepeat with a threshold frequency in each of the approved and/orpublished style-conforming outfits. For instance, auto-styler 110 mayanalyze the approved and/or published style-conforming outfits todetermine that red is the most frequent color for items in thoseoutfits, that checkered patterns are more frequently presented thansolid or other patterns, that total cost for a threshold number ofoutfits is below a certain amount, that more outfits include jewelryover hats and other clothing accessories, that the outfits include moreitems of in-house brands than other brands, etc. Additionally,auto-styler 110 may determine certain styles (e.g., style definitions130, templates, rules, etc.) that the merchant prefers based on outfitscreated with those styles being published more often than outfitscreated with other styles.

Process 800 may include using the feedback loop to track (at 825) userengagement with the published outfits and/or other user input orinteractions with the merchant site. In some embodiments, auto-styler110 may have access to item inventory counts, website tracking data,and/or an order database of the merchant, and may retrieve the trackinginformation from these sources. In some other embodiments, auto-styler110 may have direct access to the front-end host or may embed trackingbeacons or code in the UI that is presented to the user in order totrack (at 825) the user engagement.

Process 800 may include detecting (at 830) commonality in the userengagement. In this instance, detecting (at 830) the commonality mayinclude performing pattern recognition and trend analysis to determineto identify popular items, trends among purchased items, styles that arepopular, seasonal differences in purchase patterns, different engagementby different groups of users (e.g., mobile device users purchasing afirst set of items and desktop user purchasing a second set of items,older users engaging with a first set of items and younger usersengaging with a second set of items, etc.), and/or other item attributesthat are prioritized on different days, times, and/or events. In thismanner, auto-styler 110 may programmatically learn and/or determinequalities of outfits and specific items that have had the most userengagement, that have generated the highest number of sales, and/or thatsatisfy other prioritization criteria.

Process 800 may include determining (at 835) one or more styleadjustments based on the detected (at 820 and/or 830) commonality. Insome embodiments, the style adjustments may improve the likelihood thatone item is included in an outfit over other items with similarattributes, that items with a particular attribute value are included inan outfit over items with a different value for the particularattribute, and/or that outfits of a particular style are published morefrequently than outfits of other styles. The style adjustments may beimplemented by adjusting the scoring of different item attributes, or bychanging auto-styler 110 selection criteria to prioritize the selectionof items with certain attributes, items, and/or outfits. In someembodiments, determining (at 835) the style adjustments may includemodifying one or more of the templates by changing what item types areincluded in a particular template and/or the positioning, arrangement,and/or alignment of items in the particular template based on thedetected (at 820 and/or 830) commonality. In some embodiments,determining (at 835) the style adjustments may include reranking thegenerated outfits according to the detected (at 820 and 830)commonality.

Process 800 may include modifying (at 840) outfits that are output byauto-styler 110 according to the style adjustments. Modifying (at 840)the outfits may include using the adjusted selection criteria to outputoutfits that prioritize certain item attributes, items, and/or outfits.Auto-styler 110 may apply the adjusted selection criteria when selectingwhich items to include when generating an outfit, or to change theranking of generated style-conforming outfits. For instance, auto-styler110 may initially perform a random selection of items from a subset ofitems that satisfy rules of a particular style when generating an outfitwith that particular style, and may change the selection criteria tobias the selection of items from the subset of items to prioritize itemsfrom a certain brand, items with certain attributes, etc. whengenerating a new outfit with that particular style.

In some embodiments, auto-styler 110 may be configured with additionalstyle adjustments outside those derived from artificial intelligenceand/or machine learning. For instance, a brand may pay to have its itemsincluded more frequently in the generated outfits. Accordingly,auto-styler 110 may be configured with style adjustments forprioritizing (e.g., increasing the ranking) of generated outfits withitems of that brand, or for increasing the rate at which items of thatbrand are selected for inclusion in the generated outfits (e.g.,changing the selection criteria). Alternatively, the customer may wantto clear out selected items (e.g., yellow sweaters). Auto-styler 110 maybe configured with style adjustments for prioritizing the ranking ofgenerated outfits that include the selected items, or for increasing therate at which the selected items are selected for included in thegenerated outfits.

Process 800 is for customizing outfits at the merchant level.Auto-styler 110 may also support customizations at the user level,wherein a user is someone or some device that accesses the site or UIwith one or more generated outfits in order to view or purchase items.The user-level customizations may be implemented via artificialintelligence and/or machine learning.

FIG. 9 presents a process 900 for user-level customizations of outfitsin accordance with some embodiments presented herein. Process 900 may beperformed by auto-styler 110 in addition to or instead of the process800.

Process 900 may include tracking (at 910) engagement of individualusers. Auto-styler 110 may track (at 910) the user engagement byaccessing user profile information stored by a merchant, and/or bydirectly monitoring user behavior. For instance, auto-styler 110 maymonitor the number of times different items are selected by a particularuser, the number of queries by the particular user for a particular itemor item attribute, the particular user's purchase history, theparticular user's dwell time on different items (e.g., time spenthovering over or viewing a particular item), and/or other interactionsthat the particular user has with the items or outfits. The engagementof the particular user may be stored to a user profile along with anInternet Protocol (“IP”) address, Media Access Control (“MAC”) address,and/or another unique identifier of the particular user (e.g., uniqueidentifier of the one or more devices used by the particular user,account of the particular user that is identified when the particularuser provide login credentials, etc.).

Process 900 may include detecting (at 915) access by a particular userfor which there is prior tracked engagement. For instance, auto-styler110 may determine that the particular user is using a device with anaddress that matches to the unique identifier that is stored for a userprofile with the tracked engagement, or may determine that theparticular user is logged into an account that matches to an accountidentifier that is stored for the user profile with the trackedengagement. Detecting (at 915) access may include intercepting orotherwise obtaining user search queries and/or user interactions withitems. In some embodiments, auto-styler 110 may detect (at 915) theparticular user access in response to a query or request that thefront-end host provides to auto-styler 110 via an API call or othermessaging.

Process 900 may include determining (at 920) one or more styleadjustments based on the tracked user engagement. The style adjustmentsmay be based entirely on the tracked user engagement, or may besupplemented based on user search queries and/or other user interactionsthat the particular user has during an active session. The styleadjustments may include prioritizing or reranking outfits with certainitems or item attributes that match to items or attributes of itemspreviously purchased by that user, swapping one or more items in agenerated outfit with items or item attributes preferred by that user,and/or dynamically generating outfits to include items or itemattributes that are preferred by that user.

Process may include modifying (at 925) one or more outfits that areoutput by auto-styler 110 for the particular user based on the one ormore style adjustments that apply to the generated outfits. Forinstance, auto-styler 110 may detect, from the tracked user engagement,that the user previously purchased a particular item, and auto-styler110 may modify the one or more generated outfits, that are presented tothe particular user, to include outfits that style the particular itemwith other items. In doing so, the particular user may visualize itemsof different item types that match or conform to the style of theparticular item previously purchased by the user. Alternatively,auto-styler 110 may determine, from the tracked user engagement, thatthe particular user is interested in casual outfits, and may thereforeselect different casual outfits to present to the particular user,rather than present a mix of business outfits, formal outfits, andcasual outfits. Auto-styler 110 may also perform the style adjustmentsin response to user queries or user interactions. For instance, the usermay provide a search query for an item and/or a particular attribute.Auto-styler 110 may retrieve a set of outfits that include the queriedfor item and/or particular attribute, and may select a subset of the setof outfits to present to the user based on the tracked user engagement.In particular, auto-styler 110 may select the subset of outfits toinclude outfits from the set of outfits with items and/or itemattributes that match with preferred items and/or item attributes foundwithin the tracked user engagement for that user.

In some embodiments, the user-level customizations may override or takeprecedence over the merchant-level customizations. In some otherembodiments, the user-level customizations may enhance and/or furthermodify the merchant-level customizations. For instance, auto-styler 110may generate a set of style-conforming outfits based on different styledefinitions 130, may select a first subset of style-conforming outfitsfrom the set of style-conforming outfits based on the merchant-levelcustomizations, and may select a second subset of style-conformingoutfits from the first subset of style-conforming outfits based on theuser-level customizations.

In addition to customizing the items that are included in astyle-conforming outfit, auto-styler 110 may customize the presentationof the style-conforming outfits prior to publishing. Customizing thepresentation may include resizing item images, rotating item images,and/or adjusting the positioning of the images to better convey theoverall style created by the items in that outfit. Rather than randomlyplace the outfit items next to each other or in a staggered manner,auto-styler 110 may intelligently organize the item images to convey theoutfit items in the manner that they will be worn. The customizedpresentation therefore provides a visualization for the style that iscreated by all items and/or different combinations of two or more itemsin the outfit, and that prioritizes the collective style of two or moreitems over the individual look of each item.

In some embodiments, auto-styler 110 may produce the customizedpresentation based on the template that is selected for creating theoutfit. The template may provide auto-styler 110 with sizing and/orpositional data for the item images.

FIG. 10 illustrates an example by which auto-styler 110 customizes thepresentation of an outfit to provide an optimal visualization for thecollective style that is created by the interplay of two or more itemsof that outfit in accordance in accordance with some embodimentspresented herein. Auto-styler 110 may select a set of items to create anoutfit that conforms to a particular style defined in a style definition130, and may retrieve (1002) images of selected items 1010-1, 1010-2,1010-3, and 1010-4 (sometimes collectively referred to as “item images1010” or individually as “item image 1010”). Item images 1010 may havedifferent sizes, resolutions, etc.

Auto-styler 110 may retrieve (at 1004) template 1020 for the outfitstyle, or template 1020 that is part of style definition 130 used increating the outfit. Template 1020 may specify the sizing, rotation,positioning, and/or z-depth for image 1010 of each selected item for anitem type included in template 1020.

To size and position item images 1010, auto-styler 110 may process (at1006) item images 1010 to determine a center point in each item image1010, and a boundary around the item that is presented in each image1010. Auto-styler 110 may determine the center point via image analysisor by locating the central pixel of each image 1010. The boundary mayinclude a rectangular or square box that encompasses pixels representingthe item in each image 1010.

Auto-styler 110 may resize (at 1008) item images 1010 according to thesizing specified for the corresponding item types in template 1020.Template 1020 may specify a permitted maximum size for each image 1010,and each resized image 1030-1, 1030-2, 1030-3, and 1030-4 may occupy adifferent amount of the maximum size depending on the image dimensionsand/or proportions of the depicted item. For instance, the selected topand outerwear items have different lengths such that the resized itemimages occupy a different percentage of the permitted space in template1020. Moreover, the maximum size for the selected pants may be largerthan the maximum size for the other items in order to more prominentlydisplay the pants within the outfit.

Auto-styler 110 may position (at 1012) resized item images 1030 toproduce a first visualization of the outfit based on the positioning andz-depth ordering specified in template 1020. The z-depth ordering mayallow for overlap between two or more resized item images 1030. Template1020 may include overlap in order to present how the overlapping itemscomplement the overall style of the outfit as well as each item's style.Auto-styler 110 may initially position (at 1012) the center point ofresized item images 1030 to a corresponding center point for therepresented item types in template 1020. Auto-styler 110 may also rotateone or more resized item images 1030 for correct positioning.

Auto-styler 110 may create a customized second presentation of theoutfit in UI 1040 by adjusting (at 1014) the initial positioning and/orsizing of resized item images 1030. In particular, auto-styler 110 mayalign resized item images 1030 and/or adjust the amount of overlap orwhitespace between resized item images 1030. For instance, auto-styler110 may elevate resized item image 1030-3 to align the neckline of therepresented item with the represented item of resized item image 1030-1,and may move resized item image 1030-4 away from resized item image1030-2 to minimize overlap between the purse and pants. The imagealignment may be performed by aligning one or more of the top, right,left, and/or bottom of the bounding box for two or more resized itemimages 1030. Other customizations may include adjusting (at 1014) itemimage positioning (e.g., moving item images, changing z-depth ordering,etc.) and/or sizing to vary the amount of overlap, more closely pair twoitems that are otherwise separated in the template, change which itemsare promoted in the outfit, and/or change the presentation of theoutfit.

In some embodiments, auto-styler 110 may determine the item imagepositioning and/or sizing customizations from artificial intelligenceand/or machine learning. For instance, auto-styler 110 may trackpositioning and/or sizing adjustments that a merchant performs on agenerated outfit prior to publishing that outfit. Auto-styler 110 mayalso monitor the positioning and/or sizing of item images in outfitsthat the merchant publishes and/or that generate the highest volume ofsales or user engagement. Auto-styler 110 may customize the positioningand/or sizing of item images for specific templates based on tracked andmonitored data. Auto-styler 110 may also perform the adjustments inresponse to tracked user engagement, sales history, specifiedpreferences, and/or other parameters. For instance, auto-styler 110 mayidentify a particular best-selling item in an outfit, and may customizethe presentation of that outfit by increasing the size of the particularbest-selling item relative to other items in that outfit even though thetemplate may have defined an equal size for the particular best-sellingitem and other items of the outfit. Similarly, auto-styler 110 mayidentify a particular item that is on sale or that a brand has paid topromote on the merchant site, and may resize or reposition theparticular item relative to other items in the generated outfit.

Auto-style 110 may produce other customized presentations to present thecollective style created by a plurality of different item type items ofan outfit in a single interface. FIG. 11 illustrates an example ofinline customized presentation 1110 of an outfit in accordance with someembodiments presented herein.

As before, inline customized presentation 1110 may be embedded orincluded as part of a site or page for particular item 1120 that isselected. For instance, a user may search for or select (at 1102)particular item 1120. Auto-styler 1110 may determine (at 1104) differentitems from different item types that can be used to create a particularstyle in combination with particular item 1120. Auto-styler 1110 maythen include (at 1106) inline customized presentation 1110 in the siteor page for particular item 1120.

Inline customized presentation 1110 may provide a non-overlappingrow-based presentation of the items that conform to and create theparticular style. In some embodiments, auto-styler 110 may define theinline customized presentation as a non-overlapping column-based,carousel-based, or other presentation of outfit items.

Auto-styler 110 may include or exclude particular item 1120 from inlinecustomized presentation 1110, and may rearrange the outfit items toconvey the particular style. For instance, auto-styler 110 may juxtaposea clothing top with outerwear, socks with shoes, jewelry with bags, etc.

In some embodiments, auto-styler 110 may be adapted for curating a stylewith other items or goods in categories other than clothing and clothingaccessories. For example, auto-styler 110 may create a grouping fordifferent home furnishings, furniture, and/or décor that have a commonstyle, and may generate a single presentation or UI from which topresent the style-conforming grouping. In this example, auto-styler 110may generate a grouping that includes a rug, table, chair, and coffeetable that conform to a particular style or style definition 130, thegenerated grouping may provide a particular arrangement of the goods ina single presentation so that the common style formed by the goods inthe grouping can be visualized together. In particular, auto-styler 110may provide a partially overlapping and vertically offset presentationof the rug, table, chair, and coffee table, or may provide an inlinecustomized presentation to present the items in a non-overlappingrow-based presentation similar to inline customized presentation 1110. Auser may then interact with any of the goods in the grouping to selectand/or purchase one or more goods.

In some embodiments, auto-styler 110 may curate a style using consumablegoods. In some such embodiments, the style may be determined accordingto the flavor profile of different foods and drinks. For example, agrouping that conforms to a common style may include sweet and sour foodand drink items. As another example, a grouping that conforms to acommon style may include an appetizer, entrée, and dessert that fit aseafood style. Auto-styler 110 may ingest a plurality of consumablegoods, determine attributes of the goods, match the attributes to ataxonomy, and generate a grouping of goods from different item types orfood categories that conform to a particular style according to atemplate and one or more rules defined for that particular style ofconsumable goods.

In some embodiments, auto-styler 110 may include one or more deviceswith processor, memory, storage, and network resources that create thestyle-based or outfit-driven shopping experience. In some embodiments,auto-styler 110 may integrate with or operate as a service that enhancesan online merchant or eCommerce site. For instance, auto-styler 110 maybe part of or may be accessed by the front-end host of a merchant,wherein the front-end host may operate a server that receives requestsfrom different UEs, and that responds to the requests with customizedcontent that includes the outfits generated by auto-styler 110.

FIG. 12 is a diagram of example components of device 1200. Device 1200may be used to implement one or more of the devices or systems describedabove (e.g., auto-styler 110, the front-end host, UEs, etc.). Device1200 may include bus 1210, processor 1220, memory 1230, input component1240, output component 1250, and communication interface 1260. Inanother implementation, device 1200 may include additional, fewer,different, or differently arranged components.

Bus 1210 may include one or more communication paths that permitcommunication among the components of device 1200. Processor 1220 mayinclude a processor, microprocessor, or processing logic that mayinterpret and execute instructions. Memory 1230 may include any type ofdynamic storage device that may store information and instructions forexecution by processor 1220, and/or any type of non-volatile storagedevice that may store information for use by processor 1220.

Input component 1240 may include a mechanism that permits an operator toinput information to device 1200, such as a keyboard, a keypad, abutton, a switch, etc. Output component 1250 may include a mechanismthat outputs information to the operator, such as a display, a speaker,one or more light emitting diodes (“LEDs”), etc.

Communication interface 1260 may include any transceiver-like mechanismthat enables device 1200 to communicate with other devices and/orsystems. For example, communication interface 1260 may include anEthernet interface, an optical interface, a coaxial interface, or thelike. Communication interface 1260 may include a wireless communicationdevice, such as an infrared (“IR”) receiver, a Bluetooth® radio, or thelike. The wireless communication device may be coupled to an externaldevice, such as a remote control, a wireless keyboard, a mobiletelephone, etc. In some embodiments, device 1200 may include more thanone communication interface 1260. For instance, device 1200 may includean optical interface and an Ethernet interface.

Device 1200 may perform certain operations relating to one or moreprocesses described above. Device 1200 may perform these operations inresponse to processor 1220 executing software instructions stored in acomputer-readable medium, such as memory 1230. A computer-readablemedium may be defined as a non-transitory memory device. A memory devicemay include space within a single physical memory device or spreadacross multiple physical memory devices. The software instructions maybe read into memory 1230 from another computer-readable medium or fromanother device. The software instructions stored in memory 1230 maycause processor 1220 to perform processes described herein.Alternatively, hardwired circuitry may be used in place of or incombination with software instructions to implement processes describedherein. Thus, implementations described herein are not limited to anyspecific combination of hardware circuitry and software.

The foregoing description of implementations provides illustration anddescription, but is not intended to be exhaustive or to limit thepossible implementations to the precise form disclosed. Modificationsand variations are possible in light of the above disclosure or may beacquired from practice of the implementations.

The actual software code or specialized control hardware used toimplement an embodiment is not limiting of the embodiment. Thus, theoperation and behavior of the embodiment has been described withoutreference to the specific software code, it being understood thatsoftware and control hardware may be designed based on the descriptionherein.

For example, while series of messages, blocks, and/or signals have beendescribed with regard to some of the above figures, the order of themessages, blocks, and/or signals may be modified in otherimplementations. Further, non-dependent blocks and/or signals may beperformed in parallel. Additionally, while the figures have beendescribed in the context of particular devices performing particularacts, in practice, one or more other devices may perform some or all ofthese acts in lieu of, or in addition to, the above-mentioned devices.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of the possible implementations. Infact, many of these features may be combined in ways not specificallyrecited in the claims and/or disclosed in the specification. Althougheach dependent claim listed below may directly depend on only one otherclaim, the disclosure of the possible implementations includes eachdependent claim in combination with every other claim in the claim set.

Further, while certain connections or devices are shown, in practice,additional, fewer, or different, connections or devices may be used.Furthermore, while various devices and networks are shown separately, inpractice, the functionality of multiple devices may be performed by asingle device, or the functionality of one device may be performed bymultiple devices. Further, while some devices are shown as communicatingwith a network, some such devices may be incorporated, in whole or inpart, as a part of the network.

To the extent the aforementioned embodiments collect, store or employpersonal information provided by individuals, it should be understoodthat such information shall be used in accordance with all applicablelaws concerning protection of personal information. Additionally, thecollection, storage and use of such information may be subject toconsent of the individual to such activity, for example, throughwell-known “opt-in” or “opt-out” processes as may be appropriate for thesituation and type of information. Storage and use of personalinformation may be in an appropriately secure manner reflective of thetype of information, for example, through various encryption andanonymization techniques for particularly sensitive information.

Some implementations described herein may be described in conjunctionwith thresholds. The term “greater than” (or similar terms), as usedherein to describe a relationship of a value to a threshold, may be usedinterchangeably with the term “greater than or equal to” (or similarterms). Similarly, the term “less than” (or similar terms), as usedherein to describe a relationship of a value to a threshold, may be usedinterchangeably with the term “less than or equal to” (or similarterms). As used herein, “exceeding” a threshold (or similar terms) maybe used interchangeably with “being greater than a threshold,” “beinggreater than or equal to a threshold,” “being less than a threshold,”“being less than or equal to a threshold,” or other similar terms,depending on the context in which the threshold is used.

No element, act, or instruction used in the present application shouldbe construed as critical or essential unless explicitly described assuch. An instance of the use of the term “and,” as used herein, does notnecessarily preclude the interpretation that the phrase “and/or” wasintended in that instance. Similarly, an instance of the use of the term“or,” as used herein, does not necessarily preclude the interpretationthat the phrase “and/or” was intended in that instance. Also, as usedherein, the article “a” is intended to include one or more items, andmay be used interchangeably with the phrase “one or more.” Where onlyone item is intended, the terms “one,” “single,” “only,” or similarlanguage is used. Further, the phrase “based on” is intended to mean“based, at least in part, on” unless explicitly stated otherwise.

What is claimed is:
 1. A method comprising: selecting a style definitionthat defines a style-conforming outfit based on one or more rules thatapply to a combination of a first item type and a second item type ofthe style-conforming outfit, and that defines a customized presentationfor the style-conforming outfit, wherein each of the first item type andthe second item type comprises a plurality of different items with autility that differs from the plurality of items of another item type;generating the style-conforming outfit comprising a combination of afirst item of the first item type and a second item of the second itemtype in response to a collective style produced by the combinationsatisfying the one or more rules; determining a z-depth ordering for thefirst item type and the second item type based on a predefined template;positioning a first image of the first item relative to a second imageof the second item in a single interface based on a specifiedpositioning in the predefined template and the z-depth ordering for thefirst item type and the second item type; sizing the first imagerelative to the second image in the single interface based on aspecified sizing for the first item type and the second item type in thecustomized presentation; automatically adjusting the positioning of thefirst image from the specified positioning in order to adjust an amountof overlap between the first image and the second image after saidsizing; and presenting the collective style provided by thestyle-conforming outfit based on said positioning, sizing, and adjustingof the first image and the second image in the single interface.
 2. Themethod of claim 1 further comprising: selecting the first item type andthe second item type from a plurality of item types based on the styledefinition including the first item type and the second item type. 3.The method of claim 2 further comprising: filtering a subset of theplurality of items from each of the first item type and the second itemtype, wherein each item comprises a plurality of item attributes, andwherein said filtering comprises selecting the subset of items from thefirst item type and the second item type with attributes that satisfyparameters of the one or more rules.
 4. The method of claim 1 furthercomprising: generating a second outfit comprising a combination of thefirst item of the first item type and a third item of the second itemtype; and discarding the second outfit as an outfit that does notconform to the style definition in response to a collective styleproduced by the combination of the first item and the third itemviolating the one or more rules.
 5. The method of claim 1 furthercomprising: ingesting the plurality of items for each of the first itemtype and the second item type; extracting a set of attributes for eachitem of the plurality of items; classifying each item of the pluralityof items based on the set of attributes; and wherein generating thestyle-conforming outfit comprises: determining that the combination ofthe first item and the second item comprises attributes that matchconditions of the one or more rules.
 6. The method of claim 1, whereinthe first item type comprises a first type of clothing or clothingaccessories; wherein the second item type comprises a different secondtype of clothing or clothing accessories; and wherein positioning thefirst image relative to the second image comprises aligning a necklineof the first image to the neckline of the second image.
 7. The method ofclaim 1, wherein positioning the first image relative to the secondimage comprises: overlapping a portion of the first image over a portionof the second image based on the z-depth ordering specifying a closerposition for the first item type than the second item type.
 8. Themethod of claim 1, wherein generating the style-conforming outfitcomprises: grouping a clothing top from the first item type as the firstitem with a clothing bottom from the second item type as the seconditem, wherein each of the clothing top and the clothing bottomcontribute to the collective style of the style-conforming outfit beingone of at least a formal style or a casual style, and wherein the one ormore rules of the style definition define the formal style or the casualstyle for the style-conforming outfit.
 9. The method of claim 1, whereingenerating the style-conforming outfit comprises: grouping a clothingtop from the first item type as the first item with a clothing bottomfrom the second item type as the second item, wherein each of theclothing top and the clothing bottom contribute to the collective styleof the style-conforming outfit being a particular seasonal style, andwherein the one or more rules of the style definition define theparticular seasonal style for the style-conforming outfit.
 10. Themethod of claim 1, wherein the one or more rules specify that the firstitem type and the second item type comprise clothing with differentpatterns, and wherein generating the style-conforming outfit comprisesselecting the first item as a clothing item of the first item type withone of a checkered, striped, or plain pattern, and the second item as adifferent clothing item of the second item type with another of thecheckered, striped, or plain pattern.
 11. The method of claim 1, whereinthe one or more rules specify that the first item type and the seconditem type comprise different types of clothing with particular coloring,and wherein generating the style-conforming outfit comprises: filteringa first plurality of items of the first item type to a first subset ofthe first plurality of items with the particular coloring; filtering asecond plurality of items of the second item type to a second subset ofthe second plurality of items with the particular coloring; andselecting the first item from the first subset of items, and the seconditem from the second subset of items.
 12. The method of claim 1, whereinthe one or more rules specify a total price for the style-conformingoutfit to be less than a particular amount, and wherein generating thestyle-conforming outfit comprises selecting the combination of the firstitem and the second item based on a sum of a first cost of the firstitem and a second cost of the second item being less than the particularamount.
 13. The method of claim 1, wherein the one or more rules specifythat the first item type is of a common brand as the second item type,and wherein generating the style-conforming outfit comprises: selectingthe first item from the plurality of items of the first item type;determining that the first item is of a particular brand; filtering theplurality of items of the second item type to a subset of items of theparticular brand; and selecting the second item from the subset ofitems.
 14. The method of claim 1, wherein generating thestyle-conforming outfit comprises: generating a plurality ofstyle-conforming outfits with different combinations of items of thefirst item type and the second item type that produce a collective stylesatisfying the one or more rules; ranking the plurality ofstyle-conforming outfits based on a percentage match between attributesof each of the different combinations of items and the one or morerules; and publishing the style-conforming outfit comprising thecombination of the first item and the second item based on said ranking.15. The method of claim 1 further comprising: tracking user engagementwith a merchant site; determining that a third item of the first itemtype has more engagement than the first item based on the userengagement; prioritizing the selection of the third item over the firstitem and other items of the first item type; and generating a differentsecond style-conforming outfit comprising a combination of the thirditem of the first item type and the second item of the second item typein response to said prioritizing and a collective style produced by thecombination of the third item and the second satisfying the one or morerules.
 16. The method of claim 1 further comprising: tracking priorengagement of a particular user; determining that the particular userrequests access to a site; and wherein generating the style-conformingoutfit comprises: determining a prior purchase of a third item of athird item type by the particular user based on the prior engagement;and selecting the first item and the second item based on the collectivestyle of the first item and the second item matching a style of anoutfit comprising the third item.
 17. The method of claim 1 furthercomprising: tracking prior engagement of a particular user; determiningthat the particular user requests access to a site; determining priorpurchases by the particular user conform to a particular style; andselecting the style definition from a plurality of style definitionsbased on the style definition defining the style-conforming outfit withthe particular style.
 18. The method of claim 1 further comprising:generating a plurality of style-conforming outfits with differentcollective styles that satisfy one or more rules of different styledefinitions; tracking user engagement with a merchant site; and whereinpresenting the collective style provided by the style-conforming outfitcomprises: determining that the collective style provided by thestyle-conforming outfit receives more user engagement than the differentcollective styles of other style-conforming outfits from the pluralityof style-conforming outfits based on said tracking; and publishing thestyle-conforming outfit to the merchant site in place of the otherstyle-conforming outfits based on said determining.
 19. A devicecomprising: one or more processors configured to: select a styledefinition that defines a style-conforming outfit based on one or morerules that apply to a combination of a first item type and a second itemtype of the style-conforming outfit, and that defines a customizedpresentation for the style-conforming outfit, wherein each of the firstitem type and the second item type comprises a plurality of differentitems with a utility that differs from the plurality of items of anotheritem type; generate the style-conforming outfit comprising a combinationof a first item of the first item type and a second item of the seconditem type in response to a collective style produced by the combinationsatisfying the one or more rules; determine a z-depth ordering for thefirst item type and the second item type based on a predefined template;position a first image of the first item relative to a second image ofthe second item in a single interface based on a specified positioningin the predefined template and the z-depth ordering for the first itemtype and the second item type; size the first image relative to thesecond image in the single interface based on a specified sizing for thefirst item type and the second item type in the customized presentation;automatically adjust the positioning of the first image from thespecified positioning in order to adjust an amount of overlap betweenthe first image and the second image after said sizing; and present thecollective style provided by the style-conforming outfit based on saidpositioning, sizing, and adjusting of the first image and the secondimage in the single interface.
 20. A non-transitory computer-readablemedium, storing a plurality of processor-executable instructions to:select a style definition that defines a style-conforming outfit basedon one or more rules that apply to a combination of a first item typeand a second item type of the style-conforming outfit, and that definesa customized presentation for the style-conforming outfit, wherein eachof the first item type and the second item type comprises a plurality ofdifferent items with a utility that differs from the plurality of itemsof another item type; generate the style-conforming outfit comprising acombination of a first item of the first item type and a second item ofthe second item type in response to a collective style produced by thecombination satisfying the one or more rules; determine a z-depthordering for the first item type and the second item type based on apredefined template; position a first image of the first item relativeto a second image of the second item in a single interface based on aspecified positioning in the predefined template and the z-depthordering for the first item type and the second item type; size thefirst image relative to the second image in the single interface basedon a specified sizing for the first item type and the second item typein the customized presentation; automatically adjust the positioning ofthe first image from the specified positioning in order to adjust anamount of overlap between the first image and the second image aftersaid sizing; present the collective style provided by thestyle-conforming outfit based on said positioning, sizing, and adjustingof the first image and the second image in the single interface.